package com.sx.pipeline.repos.http.impl

import com.sx.pipeline.app.config.BaseEntity
import com.sx.pipeline.repos.http.res.*
import io.reactivex.rxjava3.core.Observable
import retrofit2.http.GET
import retrofit2.http.Query

/**
 * @Author: YY
 * @Date: 2022/5/19
 * @Description: 工作台模块 - 数据源
 */
interface IWorkBenchSource {

    /**
     * 轮播图
     */
    fun getBannerList(): Observable<BaseEntity<List<BannerVO>>>

    /**
     * 公告以及消息数量
     */
    fun getInformation(): Observable<BaseEntity<InformationVO>>

    /**
     * 常用应用
     */
    fun getModuleList(): Observable<BaseEntity<List<CommonApplyListVO>>>

    /**
     * 任务统计
     */
    fun getTaskStatistics(
        taskType: Int,
        timeType: Int,
    ): Observable<BaseEntity<HashMap<Int, TaskStatisticsVO>>>

    /**
     * 未完成任务列表
     */

    fun getUndoneTask(
        taskType: Int,
        timeType: Int,
        type: Int,
        isPage: Boolean,
        page: Int,
        limit: Int = 10,
    ): Observable<BaseEntity<Ipage<ReleaseTaskVo>>>
}